package com.dkm.orproject.dkmoa.dao;

import com.dkm.orproject.dkmoa.domain.OaSupplier;
import com.dkm.orproject.dkmoa.domain.OaSupplierType;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *  @ClassName : OaSupplierMapper  //类名
 *  @Description : 供应商类dao层 操作数据库实体类
 *  @Author : zmh //作者
 *  @Date: 2020-11-25 16:28  //时间
 */
@Mapper
public interface OaSupplierMapper {

    /**
     * 根据pkSupplierId查询删除该条供应商数据
     * @param pkSupplierId
     * @return 回调函数
     */
    int deleteByPrimaryKey(Long pkSupplierId);

    /**
     * 插入供应商数据
     * @param oaSupplier 供应商对象
     */
    int insertSelective(OaSupplier oaSupplier);


    /**
     * 根据pkSupplierId查询供应商数据
     * @param pkSupplierId
     * @return 供应商类型对象
     */
    OaSupplier selectByPrimaryKey(Long pkSupplierId);

    /**
     * 根据oaSupplier的id值查询然后修改该条数据
     * @param oaSupplier
     */
    int updateByPrimaryKeySelective(OaSupplier oaSupplier);


    /**
     * 查询供应商数据总条数
     * @param oaSupplier 规则制度对象
     * @param startTime 开始时间
     * @param endTime 结束时间
     */
    Long rowCount(@Param("oaSupplier") OaSupplier oaSupplier, @Param("startDate")String startTime, @Param("endDate")String endTime);

    /**
     * 分页查询所有供应商信息数据
     * @param oaSupplier
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 所有供应商类型对象的集合
     */
    List<OaSupplier> selectAll(@Param("oaSupplier") OaSupplier oaSupplier, @Param("startDate")String startTime, @Param("endDate")String endTime);

    /**
     * 根据list存入的id批量删除供应商数据
     * @param list list里存入id的集合
     */
    int deleteAll(List<Long> list);

}